package es.ats.codington.festival.interfaces.daos;

import java.sql.SQLException;
import java.util.ArrayList;

import es.ats.codington.festival.domain.Event;

/**
 * 
 * 
 *
 */
public interface IEventDAO {

	/**
	 * 
	 * @return
	 * @throws ClassNotFoundException
	 * @throws SQLException
	 */
	public ArrayList<Event> showEvents() throws ClassNotFoundException, SQLException;
	
	/**
	 * 
	 * @param event
	 * @return
	 * @throws ClassNotFoundException
	 * @throws SQLException
	 */
	public int registerNewEvent(Event event)throws ClassNotFoundException, SQLException;
	
	/**
	 * 
	 * @param idEvent
	 * @return
	 * @throws ClassNotFoundException
	 * @throws SQLException
	 */
	public int deleteEvent(int idEvent) throws ClassNotFoundException, SQLException;
	
	/**
	 * 
	 * @param event
	 * @return
	 * @throws ClassNotFoundException
	 * @throws SQLException
	 */
	public int updateEvent(Event event) throws ClassNotFoundException, SQLException;
	
	/**
	 * 
	 * @param event
	 * @return
	 * @throws SQLException
	 */
	public boolean checkEventDAO(Event event) throws SQLException;
	
	/**
	 * 
	 * @param event
	 * @return
	 * @throws SQLException
	 */
	public int getIdEventDAO(Event event) throws SQLException;
	
	/**
	 * 
	 * @param e
	 * @return
	 * @throws SQLException
	 */
	public Event getEventDAO(Event e) throws SQLException;
	
	/**
	 * 
	 * @param event
	 * @return
	 * @throws ClassNotFoundException
	 * @throws SQLException
	 */
	public ArrayList<Event> showEventsByPlaceDAO(Event event) throws ClassNotFoundException, SQLException;
}
